#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <time.h>
#include <unistd.h>
#include "dataBase/logRecordFunction.h"
#include "debug.h"
#include <pthread.h>
#include <unistd.h>
#include <sys/syscall.h>
#include "misc.h"


void timer_handler(int signum) {
    updateLog_db();
    printf("Timer expired!\n");
}

void logTimer_Thread(void* pPara){
    Misc_InitThread(__func__);

    struct sigevent sev;
    struct itimerspec its;
    timer_t timerid;

    // 安装定时器处理函数
    signal(SIGUSR1, timer_handler);

    // 创建定时器
    sev.sigev_notify = SIGEV_SIGNAL;
    sev.sigev_signo = SIGUSR1;
    sev.sigev_value.sival_ptr = &timerid;
    if (timer_create(CLOCK_MONOTONIC, &sev, &timerid) == -1) {
        perror("timer_create");
        exit(1);
    }

    // 设置定时器时间间隔（1秒）
    its.it_value.tv_sec = 1;     // 秒
    its.it_value.tv_nsec = 0;    // 纳秒
    its.it_interval.tv_sec = 5;  // 秒
    its.it_interval.tv_nsec = 0; // 纳秒

    // 启动定时器
    if (timer_settime(timerid, 0, &its, NULL) == -1) {
        perror("timer_settime");
        exit(1);
    }

    // 等待定时器信号
    while (1) {
        sleep(1);
    }
}
